package com.leyou.item.api;


import com.leyou.common.pojo.PageResult;
import com.leyou.item.pojo.Brand;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@RequestMapping("brand")
public interface BrandApi {


    /**
     * 查询品牌页面-返回的是一个已经分页好的数据结果集
     * RP新学习的类--响应实体类org.springframework.http;
     * 分页信息设置默认，可选信息设置required=false,设置为空可能出现错误，比如查询空
     *
     * @param key    查询关键词条可以是name模糊或者是首字母
     * @param page   当前页面
     * @param rows   显示多少条
     * @param sortBy 排序方依据
     * @param desc   desc排序方式 desc--false asc默认是升序true，mysql中1true0false
     */
    @GetMapping("page")
    public PageResult<Brand> queryBrandsByPage(
            @RequestParam(value = "key", required = false) String key,
            @RequestParam(value = "page", defaultValue = "1") Integer page,
            @RequestParam(value = "rows", defaultValue = "5") Integer rows,
            @RequestParam(value = "sortBy", required = false) String sortBy,
            @RequestParam(value = "desc", required = false) Boolean desc
    );


    /**
     * 新增商品---查询品牌由cid分类--大量无法直接查询数据，通过分类筛选
     *
     * @param cid cid
     */
    @GetMapping("cid/{cid}")
    public List<Brand> queryBrandsByCid(@PathVariable("cid") Long cid);

    @GetMapping("{id}")
    public Brand queryBrandById(@PathVariable("id") Long id);
}
